﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
using System.IO;

namespace AlocaProfeV2.View
{
    public partial class EditarCoordenador : System.Web.UI.Page
    {
        String xml_path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "xml/coordenador.xml");
        List<RadioButton> radiolist = new List<RadioButton>();

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                //Pegar lista de coordenadores
                XDocument xmlcoordenador = XDocument.Load(xml_path);
                Controller.CoordenadorController coordenadorController = new Controller.CoordenadorController();
                List<Modelos.Coordenador> coordenadores = coordenadorController.listaCoordenador();
                
                //Adicionar registros na tabela
                for (int cont = 0; cont < coordenadores.Count; cont++)
                {
                    String pos = cont.ToString();
                    //Adiciona linhas
                    TableRow tRow = new TableRow();
                    tabela.Rows.Add(tRow);

                    // Definino e adicionando celulas da tabela
                    TableCell celulaNome = new TableCell();
                    TableCell celulaEmail = new TableCell();
                    TableCell celulaAtivo = new TableCell();
                    tRow.Cells.Add(celulaNome);
                    tRow.Cells.Add(celulaEmail);
                    tRow.Cells.Add(celulaAtivo);
                    
                    //Populando celulas
                    celulaNome.Text = coordenadores[cont].Nome;
                    celulaEmail.Text = coordenadores[cont].Email;
                    RadioButton radios = new RadioButton();
                    RadioButton radios2 = new RadioButton();
                    radios.GroupName = "rad" + pos;
                    radios2.GroupName = "rad" + pos;
                    radios.Text = "Ativo";
                    radios2.Text = "Inativo";
                    

                    if (coordenadores[cont].Ativo)
                    {
                        radios.Checked=true;
                    }
                    else
                    {
                        radios2.Checked=true;
                    }
                    celulaAtivo.Controls.Add(radios);
                    celulaAtivo.Controls.Add(radios2);
                    radiolist.Add(radios);
                    radiolist.Add(radios2);
                    
                }
            }
            catch (Exception ex)
            {
                Response.Write(ex.ToString());
            }
        }

        protected void btnAlterar_Click(object sender, EventArgs e)
        {
            //Fazer alterações
            int i = 0;
            List<Modelos.Coordenador> coordenadores = new List<Modelos.Coordenador>();
            Modelos.Coordenador cordenador;
            int linhas = tabela.Rows.Count;
            for (int cont = 1; cont < linhas; cont++)
            {
                cordenador = new Modelos.Coordenador(tabela.Rows[cont].Cells[0].Text.ToString(), tabela.Rows[cont].Cells[1].Text.ToString(), radiolist[i].Checked);
                coordenadores.Add(cordenador);
                i+=2;
            }

            Controller.CoordenadorController coordenadorController = new Controller.CoordenadorController();
            try
            {
                coordenadorController.atulizaCoordenadores(coordenadores);
                Page.ClientScript.RegisterStartupScript(this.GetType(), "ShowMessage", "alert('Alteração realizada com sucesso!');", true);
            }
            catch (Exception ex)
            {
                // Erro genérico
            }
        }
    }
}